The keyboard hides prematurely when the user is typing into
an empty search box because the click is a captured event that
triggers a loss of entry focus. By adding a keyboard check to
this event, the problem is solved.
https://bugzilla.gnome.org/show_bug.cgi?id=661340
_onCapturedEvent: function(actor, event) {
if (event.type() == Clutter.EventType.BUTTON_PRESS) {
let source = event.get_source();
- if (source != this._text && this._text.text == '') {
+ if (source != this._text && this._text.text == '' &&
+ !Main.layoutManager.keyboardBox.contains(source)) {
// the user clicked outside after activating the entry, but
- // with no search term entered - cancel the search
+ // with no search term entered and no keyboard button pressed
+ // - cancel the search
this._reset();
}
}